﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Common;
namespace Model
{
   /// <summary>
   /// 用于绑定Tree
   /// </summary>
   [Serializable]
   public class eProperty
    {
       /// <summary>
       /// 属性的种类（属性，事件，方法，字段等）
       /// </summary>
       public enumPropertyType PropertyType {get;set;}

       /// <summary>
       /// 属性名
       /// </summary>
       public string Name { get; set; }
       
       /// <summary>
       /// 属性值
       /// </summary>
       public string Value { get; set; }
       
       /// <summary>
       /// 属性值的数据类型
       /// </summary>
       public string ValueType { get; set; }


       /// <summary>
       /// 属性值的数据类型的全称
       /// </summary>
       public string ValueTypeFullName { get; set; }


       /// <summary>
       /// public,private....
       /// </summary>
       public string Accessibility { get; set; }

       /// <summary>
       /// string,bool...
       /// </summary>
       public string ReturnType { get; set; }

       /// <summary>
       /// [Serializable]...
       /// </summary>
       public string Attribute { get; set; }

       /// <summary>
       /// MouseEventArgs...
       /// </summary>
       public string EventArgs { get; set; }

       /// <summary>
       /// 方法的参数列表
       /// </summary>
       private List<eMethodParam> _list;
       public List<eMethodParam> ParamList
       {
           get
           {
               if (_list == null)
                   _list = new List<eMethodParam>();
               return _list;
           }
           set
           {
               _list = value;
           }
       }

       /// <summary>
       /// 继承的类或接口的列表
       /// </summary>
       private List<eInherit> _hirList;
       public List<eInherit> InheritList
       {
           get
           {
               if (_hirList == null)
                   _hirList = new List<eInherit>();
               return _hirList;
           }
           set
           {
               _hirList = value;
           }
       }
    }
}
